package com.ruoyi.system.mapper;

import com.ruoyi.common.core.domain.entity.SignInRecord;
import com.ruoyi.common.core.domain.entity.SignInStatistics;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 参数配置 数据层
 *
 * @author ruoyi
 */
@Mapper
@Repository
public interface SignInStatisticsMapper {
  // 插入签到统计
  void insertSignInStatistics(SignInStatistics signInStatistics);
  // 根据id更新签到统计
  void updateSignInStatisticsById(SignInStatistics signInStatistics);
  // 重置签到次数
  void updateSignInStatistics(SignInStatistics signInStatistics);
  // 根据用户id查询签到统计
  SignInStatistics selectByUserId(@Param("userId") Long userId);
  // 更新二级抽奖次数
  void updateLevelTwoCount(@Param("userIds") List<Long> userIds);
  //更新三级抽奖次数
  void updateLevelThreeCount(@Param("userIds") List<Long> userIds);
  //根据用户id和奖池等级查询剩余抽奖次数
  int getLotteryCount(@Param("userId") Long userId,@Param("prizeLevel") Integer prizeLevel);
  //根据用户id更新对应等级抽奖次数
  void updateLotteryCount(@Param("userId") Long userId,@Param("prizeLevel") Integer prizeLevel);
}
